package com.hlk.user.service;

import com.hlk.enums.Sex;
import com.hlk.pojo.vo.RegionRatioVO;
import com.hlk.utils.PageResult;

import java.util.List;

/**
 * @author hlk
 * @version 1.0
 * @date 2021-01-08 10:50
 */
public interface MyFanService {
    /**
     * 查询是否有关注
     *
     * @param writerId
     * @param fanId
     * @return
     */
    boolean isMeFollowThisWriter(String writerId, String fanId);

    /**
     * 关注
     *
     * @param writerId
     * @param fanId
     */
    void follow(String writerId, String fanId);

    /**
     * 取消关注
     *
     * @param writerId
     * @param fanId
     */
    void unfollow(String writerId, String fanId);

    /**
     * 获取所有粉丝
     *
     * @param writerId
     * @param page
     * @param pageSize
     * @return
     */
    PageResult queryAll(String writerId, Integer page, Integer pageSize);

    /**
     * 获取粉丝数
     *
     * @param writerId
     * @param sex
     * @return
     */
    int queryFansCounts(String writerId, Sex sex);

    /**
     * 获取粉丝地域
     *
     * @param writerId
     * @return
     */
    List<RegionRatioVO> queryRegionRatioCounts(String writerId);
}
